package cate.game.pvp.minecraft;

import easy.java.dev.note.NoteClass;
import easy.java.dev.note.NoteField;
import lombok.experimental.UtilityClass;

@UtilityClass
@NoteClass("灵能矿洞-RPC消息定义")
public final class MinecraftInnerMsg {
    /**
     * 装配消息
     *
     * @param msg 消息本体
     * @return 最终消息
     */
    private static String MSG(String msg) {
        return MinecraftManager.MODULE_NAME + "." + msg;
    }

    @NoteField("玩法信息变更事件")
    public static final String MC_STATUS_EVENT = MSG("status-event");
    @NoteField("矿点变更事件")
    public static final String MC_NOTIFICATION_EVENT = MSG("notification-event");
    @NoteField("游戏服连接")
    public static final String MC_GAME_CONNECT = MSG("game-connect");
    @NoteField("游戏服连接-返回")
    public static final String MC_GAME_CONNECT_BACK = MSG("game-connect-back");
    @NoteField("玩家上线")
    public static final String MC_ROLE_ONLINE = MSG("role-online");
    @NoteField("同步玩家占用信息")
    public static final String MC_SYNC_USED_INFO = MSG("sync-used-info");
    @NoteField("矿点信息概览")
    public static final String MC_OVERVIEW = MSG("overview");
    @NoteField("矿点信息概览-返回")
    public static final String MC_OVERVIEW_BACK = MSG("overview-back");
    @NoteField("查看层信息")
    public static final String MC_VIEW_LAYER = MSG("view-layer");
    @NoteField("查看层信息-返回")
    public static final String MC_VIEW_LAYER_BACK = MSG("view-layer-back");
    @NoteField("查看我的矿点")
    public static final String MC_VIEW_MY_POINTS = MSG("view-my-points");
    @NoteField("查看我的矿点-返回")
    public static final String MC_VIEW_MY_POINTS_BACK = MSG("view-my-points-back");
    @NoteField("查看点位详情")
    public static final String MC_VIEW_POINT_DETAIL = MSG("view-point-detail");
    @NoteField("查看点位详情-返回")
    public static final String MC_VIEW_POINT_DETAIL_BACK = MSG("view-point-detail-back");
    @NoteField("尝试发起战斗")
    public static final String MC_TRY_FIGHT = MSG("try-fight");
    @NoteField("尝试发起战斗-返回")
    public static final String MC_TRY_FIGHT_BACK = MSG("try-fight-back");
    @NoteField("上报战斗结果")
    public static final String MC_FIGHT_RESULT_REPORT = MSG("fight-result-report");
    @NoteField("上报战斗结果-返回")
    public static final String MC_FIGHT_RESULT_REPORT_BACK = MSG("fight-result-report-back");
    @NoteField("领取挂机奖励")
    public static final String MC_GET_HANG_REWARD = MSG("get-hang-reward");
    @NoteField("领取挂机奖励-返回")
    public static final String MC_GET_HANG_REWARD_BACK = MSG("get-hang-reward-back");
    @NoteField("保护矿点")
    public static final String MC_PROTECT_POINT = MSG("protect-point");
    @NoteField("保护矿点-返回")
    public static final String MC_PROTECT_POINT_BACK = MSG("protect-point-back");
    @NoteField("放弃矿点")
    public static final String MC_GIVE_UP_POINT = MSG("give-up-point");
    @NoteField("放弃矿点-返回")
    public static final String MC_GIVE_UP_POINT_BACK = MSG("give-up-point-back");

    @NoteField("战斗录像互传")
    public static final String MC_TRANSFER_PVP_RECORD = MSG("transfer-pvp-record");

    @NoteField("合服处理")
    public static final String MC_MERGE_SETTLE = MSG("merge-settle");
    @NoteField("GM命令")
    public static final String MC_GM_CMD = MSG("gm-cmd");
}
